Skip to content

[pull] master from DataDog:master#474

Merged
pull[bot] merged 10 commits into
ConnectionMaster:masterfrom
DataDog:master
Apr 10, 2026
Merged

[pull] master from DataDog:master#474
pull[bot] merged 10 commits into
ConnectionMaster:masterfrom
DataDog:master

Conversation

@pull

@pull pull Bot commented Apr 10, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

AAraKKe and others added 4 commits April 10, 2026 09:51
* Speed up hudi e2e

* clean up spark version
* fix cluster capacity counting for hostless/filtered vms

* changelog

* fix multi cluster case, improve testing fixtures

* improve test

* address review: use ClusterCapacity for hostless VMs, extract helper, fix test style

- Replace dict[str, tuple[int, int]] with dict[str, ClusterCapacity] for
  _hostless_vm_capacity_by_cluster to align with existing pattern
- Extract _extract_vm_capacity helper to eliminate duplication between
  _accumulate_vm_capacity and _report_vm_capacity_metrics
- Add debug log when a hostless VM has no cluster ID
- Add comment documenting non-batch mode limitation for hostless VMs
- Convert TestMultiClusterHostlessVMCapacity class to plain test functions
- Fix misleading comment: OFF VM has a host, it is not a hostless VM
- Import HOST_NAME from constants.py instead of redefining locally
- Parametrize test_exclude_vm_by_id for both batch modes

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* address review: cleanup code, separation of concerns, and flat unit tests

* change health_check failure log message to error instead of warning

* more refactoring and code cleanup

* fix unused HOST_NAME import in test_resource_filters

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* add exclude_filtered_resources_from_cluster_capacity property + regenerate models

* separate cluster capacity computation from metrics collection + add exclude_filtered_resources_from_cluster_capacity + cleanup + added tests

* address review + more cleanup + improve tests

* Update nutanix/README.md

Co-authored-by: Rosa Trieu <107086888+rtrieu@users.noreply.github.com>

* Address review feedback: reset state before health check, consolidate VM capacity extraction

- Move reset_state() before health check to guarantee clean state on every run
- Consolidate _extract_vm_capacity to return all fields, eliminating duplicate
  parsing in _report_vm_capacity_metrics
- Fix trailing whitespace and extra blank lines

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Clarify VM collection mode decoupling in docstrings

Make it explicit that _vms_by_host is populated by either batch or
non-batch mode, and that hostless VMs (the "" key) are only present
in batch mode.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Include hostless VMs in cluster capacity for all collection modes

Add _get_hostless_vms to lazily fetch and cache hostless VMs (the "" key)
in non-batch mode. Split _report_cluster_capacity_metrics into two clear
loops: hosted VMs (scoped by host_ids) and hostless VMs (scoped by
cluster_id). Parameterize hostless VM tests on batch_vm_collection.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Revert _get_hostless_vms: hostless VMs only available in batch mode

Fetching all VMs to extract hostless ones defeats the purpose of
non-batch mode. Hostless VMs are only captured via _build_vms_by_host_cache
(batch mode), which is the expected trade-off.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Rosa Trieu <107086888+rtrieu@users.noreply.github.com>
@pull pull Bot locked and limited conversation to collaborators Apr 10, 2026
@pull pull Bot added the ⤵️ pull label Apr 10, 2026
piochelepiotr and others added 6 commits April 10, 2026 15:50
…23241)

* [kafka_consumer] Fix consumer leak when offsets_for_times times out

Wrap Consumer usage in get_watermark_offsets() in try/finally to ensure
close_consumer() is always called, even when offsets_for_times() throws.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Add changelog entry for kafka_consumer consumer leak fix

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Remove unnecessary debug log and keep fix minimal

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Restore pre-existing debug log

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* port changelogs

* port snmp changes

* Update __about__.py

* Delete .github/workflows/scripts/port_release_to_master.py
* kafka: Add topic partition size metric

Add kafka.log.partition.size metric from the kafka.log:type=Log,name=Size
JMX bean, tagged with topic and partition. Reports the on-disk size in
bytes of each topic partition log per broker.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* kafka: Rename excluded version tag to request_version for RequestsPerSec beans

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…essages (#23281)

* [kafka_consumer] Send heartbeat via data streams messages when cluster monitoring is enabled

Report context count and limit on every check run so we can tell if a customer is hitting the context ceiling.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Add changelog entry for cluster monitoring heartbeat

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Fall back to admin client metadata for cluster_id in heartbeat

When highwater offset collection is skipped (context limit exceeded),
cluster_id is empty. Use the cluster metadata from request_metadata_update()
which runs unconditionally.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Derive cluster_id internally in heartbeat method

Always read cluster_id from admin client metadata instead of accepting
it as a parameter. Simpler and removes dependency on caller state.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Use getattr for _cluster_metadata access to handle mocked clients

Tests mock self.client without _cluster_metadata attribute, causing
AttributeError. Use getattr with a default to be safe.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Accept cluster_id from caller, use _auto_detected_cluster_id for original

The check() method already resolves cluster_id (with override) and stores
the auto-detected value in config._auto_detected_cluster_id. Reuse that
rather than trying to read _cluster_metadata directly, which breaks with
mocked clients in tests.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…tions (#23282)

* bump datadog-checks-base package

* Add changelog

* Add notable changes to changelog
@pull pull Bot merged commit 25fea5c into ConnectionMaster:master Apr 10, 2026
2 of 4 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants